The demand for digital imaging products continues to increase. Some examples of applications for digital imaging include video communication, security and surveillance, industrial automation, and entertainment (e.g., DV, HDTV, satellite TV, set-top boxes, Internet video streaming, video gaming devices, digital cameras, cellular telephones, video jukeboxes, high-end displays and personal video recorders). Further, imaging applications are becoming increasingly mobile as a result of higher computation power in handsets, advances in battery technology, and high-speed wireless connectivity.
Image compression, i.e., MPEG (moving pictures experts group) coding, is an essential enabler for digital video products as it enables the storage and transmission of digital video. In general, video compression techniques apply prediction, transformation, quantization, and entropy coding to sequential blocks of pixels, i.e., coding blocks, in a video sequence to compress, i.e., encode, the video sequence. A coding block is a subset of a frame or a portion of a frame, e.g., a slice or a block of 64×64 pixels, in a video sequence and a coding block and a frame may be inter-coded or intra-coded. For encoding, a coding block may be divided into prediction blocks, e.g., 4×4, or 8×8 or 16×16 blocks of pixels. Prediction blocks may be inter-coded or intra-coded as well. In an intra-coded coding block, all prediction blocks are intra-coded. In an inter-coded coding block, the prediction blocks may be either intra-coded or inter-coded.
MPEG-2 is a standard for the generic coding of moving pictures and associated audio information. It describes a combination of lossy video compression and lossy audio data compression methods which permit storage and transmission of movies using currently available storage media and transmission bandwidth. An MPEG transport stream (TS) is a standard format for transmission and storage of audio, video, and data, and is used in broadcast systems such as DVB (digital video broadcasting) and ATSC (advanced television systems committee for digital television). The Transport Stream is specified in MPEG-2 Part 1, Systems (formally known as ISO/IEC standard 13818-1 or ITU-T Rec. H.222.0).
Transport stream specifies a container format encapsulating packetized elementary streams, with error correction and stream synchronization features for maintaining transmission integrity when the signal is degraded. A packet is the basic unit of data in a transport stream. In MPEG-2, it consists of a sync byte, whose value is 0x47, followed by three one-bit flags and a 13-bit Packet Identifier (PID). This is followed by a 4-bit continuity counter. Additional optional transport fields, as signaled in the optional adaptation field, may follow. The rest of the packet consists of payload. Packets are 188 bytes in length, but the communication medium may add some error correction bytes to the packet.
To enable a decoder to present synchronized content, such as audio tracks matching the associated video, at least once each 100 ms a Program Clock Reference, or PCR is transmitted in the adaptation field of an MPEG-2 transport stream packet. The PID with the PCR for an MPEG-2 program is identified by the per_pid value in the associated Program Map Table. The value of the PCR may be used to generate a system timing clock (STC) in the decoder. Timing in MPEG-2 references this clock; for example, the presentation time stamp (PTS) is intended to be relative to the PCR. The first 33 bits are based on a 90 kHz clock. The last 9 are based on a 27 MHz clock. The maximum jitter permitted for the PCR is +/−500 ns.
H.264/MPEG-4 Part 10 or AVC (Advanced Video Coding) is a standard for video compression, and is currently one of the most commonly used formats for the recording, compression, and distribution of high definition video. H.264/MPEG-4 AVC is a block-oriented motion-compensation-based codec standard. The intent of the H.264/AVC project was to create a standard capable of providing good video quality at substantially lower bit rates than previous standards. For example, half or less the bit rate of MPEG-2, H.263, or MPEG-4 Part 2.